package com.example.the_breakfast_club;

/**
 * Stores user information.
 * @author Team 19
 */
public class User {
	
	private String name; 
	private String password; 
	private boolean locked; 
	private String contactInfo;
	private boolean isAdmin;
	
	/**
	 * Constructor for user class.
	 */
	public User(){
		this.name = "";
		this.password = "";
		this.locked = false;
		this.contactInfo = "";
		this.isAdmin = false;
	}
	
	/**
	 * Constructor for user class.
	 * @param name, account username
	 * @param password, account password
	 */
	public User(String name, String password){
		this.name = name;
		this.password = password;
		locked = false;
		contactInfo = new String();
		isAdmin = false;
	}
	
	/**
	 * Constructor for user class.
	 * @param name, account username
	 * @param password, account password
	 * @param locked, account locked status
	 * @param contactInfo, account contact info
	 * @param isAdmin, account admin status
	 */
	public User(String name, String password, Boolean locked, String
			contactInfo, Boolean isAdmin){
		this.name = name;
		this.password = password;
		this.locked = locked;
		this.contactInfo = contactInfo;
		this.isAdmin = isAdmin;
	}
	
	/**
	 * Getter for account username.
	 * @return account username
	 */
	public String getName(){
		return name;
	}
	
	/**
	 * Getter for account password.
	 * @return account password
	 */
	public String getPassword(){
		return password;
	}
	
	/**
	 * Getter for account lock status.
	 * @return true is account is locked, false if otherwise
	 */
	public boolean getLockStatus(){
		return locked;
	}
	
	/**
	 * Getter for account contact information.
	 * @return account contact information
	 */
	public String getContactInfo(){
		return contactInfo;
	}
	
	/**
	 * Getter for account admin status.
	 * @return true if account is admin, false if otherwise
	 */
	public boolean isAdmin(){
		return isAdmin;
	}
	
	/**
	 * Setter for account username.
	 * @param name, account username
	 */
	public void setName(String name){
		this.name = name;
	}
	
	/**
	 * Setter for account password.
	 * @param password, account password
	 */
	public void setPassword(String password){
		this.password = password;
	}
	
	/**
	 * Setter for account lock status.
	 * @param locked, whether account is locked
	 */
	public void setLockStatus(boolean locked){
		this.locked = locked;
	}
	
	/**
	 * Setter for account contact information.
	 * @param contactInfo, account contact information
	 */
	public void setContactInfo(String contactInfo){
		this.contactInfo = contactInfo;
	}
	
	/**
	 * Setter for account admin status.
	 * @param isAdmin, whether account is admin
	 */
	public void setAdminStatus(boolean isAdmin){
		this.isAdmin = isAdmin;
	}
	
}
